!1940 added support for soup 3, including a fallback to soup 2.4
where the newer version isn't available.
Unfortunately it missed that libgweather has a hidden soup dependency,
and now gnome-shell fails to start if a weather location has been set
up and soup 3 is available.
We don't have a good way to detect that case, so hide the soup 3 support
behind a build option. Distributors are expected to switch it at the
same time as libgweather.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1966>
var HAVE_BLUETOOTH = @HAVE_BLUETOOTH@;
/* 1 if networkmanager is available, 0 otherwise */
var HAVE_NETWORKMANAGER = @HAVE_NETWORKMANAGER@;
+/* 1 if soup3 support is enabled, 0 otherwise */
+var HAVE_SOUP2 = @HAVE_SOUP2@;
/* gettext package */
var GETTEXT_PACKAGE = '@GETTEXT_PACKAGE@';
/* locale dir */
jsconf.set('LIBMUTTER_API_VERSION', mutter_api_version)
jsconf.set10('HAVE_BLUETOOTH', bt_dep.found())
jsconf.set10('HAVE_NETWORKMANAGER', have_networkmanager)
+jsconf.set10('HAVE_SOUP2', have_soup2)
jsconf.set('datadir', datadir)
jsconf.set('libexecdir', libexecdir)
imports.gi.versions.TelepathyLogger = '0.2';
try {
+ if (Config.HAVE_SOUP2)
+ throw new Error('Soup3 support not enabled');
const Soup_ = imports.gi.Soup;
} catch (e) {
imports.gi.versions.Soup = '2.4';
have_systemd = false
endif
+have_soup2 = get_option('soup2')
+
if get_option('man')
if fs.exists('man/gnome-shell.1')
install_man('man/gnome-shell.1')
value: true,
description: 'Enable systemd integration'
)
+
+option('soup2',
+ type: 'boolean',
+ value: true,
+ description: 'Use Soup 2.4 instead of Soup 3. Must be in sync with libgweather'
+)